ICTPRG529
Apply testing techniques for software development


Application

This unit describes the skills and knowledge required to develop test strategies and implement tests to assure the reliability and quality of an application.

It applies to individuals who are responsible for test plan preparation, execution and maintenance, the reporting of tests and defect management in an application. These individuals include quality assurance analysts, test analysts, testers, system testers, software testers, test leads and developers.

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Plan and design the test

1.1 Analyse and review software development specifications

1.2 Determine the test context, scope, standard and methodology

1.3 Determine the test types and tools

1.4 Determine test input data requirements

1.5 Design the test plan, and test cases, using various test design techniques

2. Prepare the test environment

2.1 Analyse and review documents to prepare the test environment

2.2 Determine test environment requirements

2.3 Build and set up the test environment

3. Implement and execute the test

3.1 Build input data for testing

3.2 Create the test suite or script from test cases

3.3 Execute the test cases

3.4 Create the test record to store test result

4. Manage defect and testing process

4.1 Evaluate and report the test results

4.2 Track the defect and verify the fixes

4.3 Maintain and archive test ware

Evidence of Performance

Evidence of the ability to:

develop a test-plan document and test cases, to verify the completeness, reliability and performance of an application, according to requirement specifications

analyse and prepare the test environment, and execute test cases, by using automated test tools

document and manage the test result, by performing an application debugging process, and re-testing the application.

Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.


Evidence of Knowledge

To complete the unit requirements safely and effectively, the individual must:

describe the characteristics of the programming language

explain the input and output requirements

outline software development life cycle (SDLC) methodologies

define system layers such as the data network, hardware, operating system, database management systems, web servers, application servers, and client deployment

explain the processes and techniques related to small-size application development.


Assessment Conditions

Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development industry, and include access to:

a test environment that closely resembles the production environment

business, functional, system and user requirements

a system or application suitable for testing

the appropriate learning and assessment support, when required

Assessors must satisfy NVR/AQTF assessor requirements.


Foundation Skills

This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.

Skill

Performance Criteria

Description

Reading

1.1, 1.4, 2.1

Reviews, and evaluates, technical and business requirements

Writing

4.1

Develops the technical reports and documentation appropriate for the target audience

Get the work done

1.2, 1.3, 1.5, 2.2, 2.3, 3.1, 3.2, 3.3, 3.4, 4.2, 4.3

Takes responsibility for planning, sequencing and prioritising processes, and tasks, to achieve the required outcomes

Applies systematic and analytical problem-solving processes, to develop the appropriate security access control strategies

Uses a range of digital tools and sophisticated techniques to meet the desired outcomes


Sectors

Programming and software development